Interest is increasing in the use of cloud computing to address the computing needs of corporations and other entities. Cloud computing may be understood as the use of hardware, infrastructure, storage, services, interfaces, combinations thereof and the like to deliver computing services such as software, infrastructure, and storage to a client over a network such as an enterprise network, a private network, or a public network such as the internet. In a hybrid cloud model, a corporation or other entity (“user”) may implement a private (e.g., enterprise) cloud to provide software, storage, etc. to clients, and may utilize a third party cloud such as a public (internet) cloud, a community cloud, another private cloud, or a combination thereof to provide additional computing resources. In such instances, the user may allocate workloads to the third party cloud, e.g., on demand and/or when resources on the user's private cloud become depleted/scarce. The hybrid cloud model can be particularly useful in the case of storage, e.g., where data may be stored in cloud storage provided by one or more cloud storage providers.
Although useful, the hybrid cloud model can be costly and time consuming to manage, particularly in the case of cloud storage. Cloud storage providers often charge a fee per unit of storage that is allocated to a particular user. Cloud storage users may therefore be charged for storage that is not in use, or which is being used to store data or other information that is obsolete or otherwise not of interest. Users may consequently wish to actively manage cloud storage and the data stored therein so as to mitigate cost. Cloud storage providers may also wish to reclaim unused or unnecessary cloud storage from cloud storage users, so that such storage may be reallocated for more efficient use.
Several options exist for managing (e.g., reclaiming and/or reallocating) cloud storage. Although such options are functional, effective use of them may require monitoring and manual management by cloud storage users and/or providers. Indeed to prudently manage cloud storage, it may be necessary for a cloud storage user to know when cloud storage allocated to them will expire, and/or when information contained in such storage is not being used. This can entail cumbersome and logistically difficult manual monitoring, particularly if cloud storage is allocated to a user in association with numerous virtual machines.
Cloud autoscaling is one option for automatically scaling cloud resources to meet user demand. Although useful, cloud autoscaling options generally focus on the scaling of compute resources, not storage resources. For example, a cloud provider may provide one or more virtual machines (VMs) to a user, each of which may include an associated cloud storage allowance. In such instances, cloud autoscaling may automatically delete entire VMs from the resources provided to the user, e.g., as specified by a service level agreement (SLA) between the cloud provider and the user. While the VM's themselves may be deleted. VM images and associated storage may still be allocated to the user and maintained in the cloud. The user may therefore still be charged for the storage associated with the VM, even if it is no longer needed.
While the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.